home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.5)
-
- import oscar
- from util import lookup_table
- import time
- import struct
- rendezvous_tlvs = lookup_table({
- 10: 'request_num',
- 15: 'mystery',
- 14: 'locale',
- 13: 'encoding',
- 12: 'user_message',
- 2: 'proxy_ip',
- 22: 'proxy_ip_check',
- 3: 'client_ip',
- 5: 'external_port',
- 23: 'port_check',
- 16: 'proxy_flag',
- 10001: 'extended_data',
- 10002: 'filename_encoding',
- 4: 'verified_ip' })
- rdv_types = rendezvous_message_types = lookup_table(dict(request = 0, cancel = 1, accept = 2))
-
- def oscarcookie():
- return int(time.time() ** 2)
-
-
- def rendezvous_header(message_type, cookie, capability, data = ''):
- type = map_intarg(message_type, rendezvous_message_types)
- return struct.pack('!HQ16s', type, cookie, capability) + data
-
-
- def rdv_snac(screenname, capability, type, cookie = None, data = ''):
- if cookie is None:
- cookie = int(time.time() ** 2)
-
- header = rendezvous_header(type, cookie, capability)
- rendezvous_data = oscar.OscarUtil.tlv(5, header + data)
- return oscar.snac.x04_x06(screenname, cookie, 2, rendezvous_data)
-
-
- def map_intarg(arg, map):
- if isinstance(arg, basestring):
- if arg not in map:
- raise ValueError('%s is not a valid argument' % arg)
-
- return map[arg]
- elif not isinstance(arg, int):
- raise ValueError('integer or string expected')
-
- return arg
-
-